آموزش ساخت بازی سه بعدی به زبان Basic با دارک بیسیک Dark Basic
تهیه و آموزش نرم افزار دارک بیسیک
 
 
چهار شنبه 11 ارديبهشت 1392برچسب:, :: 1:39 ::  نويسنده : ابوالفضل

 این فصل شامل دستوراتی برای پخش فیلم با فرمت هایی چون AVI ، MPEG ، Quick Time ، WAV ، AIFF ، AU یا SND می باشد . همچنین می توانیم انیمیشن مورد نظرمان را بر روی اشیاء سه بعدی نمایش دهیم .

 
دستور LOAD ANIMATION
این دستور انیمیشنی را بر روی حافظه فراخوانی می کند . مانند دستورالعمل زیر :
 
LOAD ANIMATION Filename,AnimationNumber
 
طبق این دستورالعمل به جای Filename مسیر و نام فایل حاوی انیمیشن و به جای AnimationNumber شماره ای بین یک تا 32 به انیمیشن فراخوانده شده اختصاص می دهیم ، تا آن را کنترل کنیم . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",1
Wait Key
 
در این مثال انیمیشنی با شماره ی 1 به روی حافظه خوانده شد .
 
دستور DELETE ANIMATION
این دستور انیمیشن فراخوانده شده به حافظه را حذف می کند . مانند دستورالعمل زیر :
 
DELETE ANIMATION AnimationNumber
 
طبق این دستورالعمل به جای AnimationNumber شماره ی انیمیش فراخوانده شده را قرار می دهیم تا حذف شود . ( تنها از روی حافظه ی RAM حذف میشود . فایل بر روی HARD باقی خواهد ماند ) مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",1
DELETE ANIMATION 1
 
تابع ANIMATION EXIST
این تابع بررسی می کند که آیا انیمیشن مورد نظر بر روی حافظه فراخوانی شده یا نه . اگر انیمیشن مورد نظر بر روی حافظه موجود باشد ، تابع ()Animation Exist عدد یک و اگر موجود نباشد عدد صفر برگردانده خواهد شد . مانند دستورالعمل زیر :
 
(var = ANIMATION EXIST(AnimationNumber
 
طبق این دستورالعمل اگر انیمیشن مورد نظر با شماره ی AnimationNumber بر روی حافظه فراخوانی شده باشد ، تابع ()ANIMATION EXIST عدد یک را در متغیر var ذخیره خواهد کرد و اگر فراخوانی نشده باشد ، عدد صفر در متغیر var ذخیره خواهد شد . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",1
"If ANIMATION EXIST(1)=1 Then Print "Animation 1 Exist
"If ANIMATION EXIST(1)=0 Then Print "Animation 1 Not Exist
(Var= ANIMATION EXIST(2
"If Var=1 Then Print "Animation 2 Exist
"If Var=0 Then Print "Animation 2 Not Exist
Wait Key
 
در این مثال چون انیمیشن با شماره ی 1 وجود داشت ، عبارت Animation 1 Exist چاپ و چون انیمیشنی با شماره ی 2 وجود نداشت عبارت Animation 2 Not Exist چاپ شد .
 
دستور PLAY ANIMATION
این دستور انیمیشن خوانده شده بر روی حافظه را بر روی صفحه ی نمایش یا بر روی Bitmap ( برای آشنایی با Bitmap به فصل نهم رجوع کنید ) نمایش خواهد داد . مانند دستورالعمل زیر :
 
PLAY ANIMATION AnimationNumber
 
طبق این دستورالعمل به جای AnimationNumber شماره ی انمیمیشن فراخوانده شده بر روی حافظه را قرار می دهیم تا پخش شود . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",3
PLAY ANIMATION 3
WAIT KEY
 
در این مثال انیمیشنی با شماره ی 3 فراخوانی و بر روی صفحه ی نمایش پخش خواهد شد . با اضافه کردن دو عدد دیگر به ادامه ی این دستورالعمل ، می توانیم فاصله کادر نمایش انیمیشن از بالا و چپ صفحه نمایش را تنظیم کنیم . مانند دستورالعمل زیر :
 
PLAY ANIMATION AnimationNumber,X,Y
 
طبق این دستورالعمل به جای AnimationNumber شماره ی انمیمیشن مورد نظر و به جای X فاصله ی کادر نمایش انیمیشن تا سمت چپ صفحه نمایشگر و به جای Y فاصله ی کادر نمایش انیمیشن تا بالای صفحه ی نمایشگر را قرار می دهیم . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",3
PLAY ANIMATION 3
WAIT 5000
PLAY ANIMATION 3,200,100
Wait Key
 
در این مثال انیمیشنی با شماره ی 3 فراخوانی و بر روی صفحه ی نمایش پخش می شود . و بعد از 5 ثانیه دوباره به فاصله ی 200 و 100 از چپ و بالای صفحه ی نمایشگر دوباره پخش خواهد شد . با اضافه کردن دو عدد دیگر به این دستورالعمل ، می توانیم طول و ارتفاع کادر نمایش انیمیشن را هم تنظیم کنیم . مانند دستورالعمل زیر :
 
PLAY ANIMATION AnimationNumber,X,Y,WIDTH,HEIGHT
 
طبق این دستورالعمل به جای AnimationNumber شماره ی انمیمیشن فراخوانده شده بر روی حافظه و به جای X فاصله ی کادر نمایش انیمیشن تا سمت چپ صفحه نمایشگر و به جای Y فاصله ی کادر نمایش انیمیشن تا بالای صفحه ی نمایشگر و به جای WIDTH طول کادر نمایش انیمیشن و به جای HEIGHT ارتفاع کادر نمایش انیمیشن را قرار می دهیم . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",3
PLAY ANIMATION 3
WAIT 5000
PLAY ANIMATION 3,200,100
Wait 5000
()PLAY ANIMATION 3,0,0,SCREEN WIDTH(),SCREEN HEIGHT
Wait Key
 
در این مثال انیمیشن شماره 3 سه بار پخش خواهد شد و در سومن بار تمام صفحه نمایش را دربر خواهد گرفت .
 
تابع ANIMATION PLAYING
این تابع بررسی می کند ، که آیا انیمیشن مورد نظرمان ( که بر روی حافظه فراخوانده شده ) در حال پخش است یا خیر . اگر در حال پخش باشد . تابع ()Animation Playing عدد یک و اگر در حال پخش نباشد ( مثلا متوقف شده باشد ) ، عدد صفر را برمی گرداند . مانند دستورالعمل زیر :
 
(Var = ANIMATION PLAYING(AnimationNumber
 
طبق این دستورالعمل اگر انیمیشن فراخوانده شده به حافظه با شماره ی AnimationNumber در حال پخش باشد تابع ()ANIMATION PLAYING مقدار یک و اگر در حال پخش نباشد ، عدد صفر را در متغیر Var ذخیره خواهد کرد . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",3
PLAY ANIMATION 3
Sync On : Sync Rate 30
Do
(Select Animation Playing(3
   Case 1
            "Text 10,10,"Animation 3 Playing
      EndCase
      Case 0
            "Text 10,10,"Animation 3 No Playing
      EndCase
EndSelect
Sync
Loop
 
تابع ANIMATION POSITION X و تابع ANIMATION POSITION Y
تابع ANIMATION POSITION X فاصله ی کادر نمایش انیمشن از چپ صفحه ی نمایشگر و تا بع ANIMATION POSITION Y فاصله ی کادر نمایش انیمیشن تا بالای صفحه ی نمایشگر را برمی گردانند . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",3
PLAY ANIMATION 3,200,100
" = Text 10,400,"Animation Position X
((Text 120,400,Str$(Animation Position X(3
" = Text 10,415,"Animation Position Y
((Text 120,415,Str$(Animation Position Y(3
Wait Key
 
دستور LOOP ANIMATION
این دستور انیمیشن فراخوانده شده به حافظه را دائما از اول تا آخر ، پخش خواهد کرد . یعنی تا زمانی که دستور توقف داده نشده باشد ، پخش آن بطور متوالی تا ابد ادامه خواهد داشت . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",3
LOOP ANIMATION 3
Wait Key
 
تابع ANIMATION LOOPING
این تابع بررسی می کند که آیا انیمیشن مورد نظر بصورت دائمی در حال پخش است یا خیر .
یعنی آیا از دستور Loop Animation برای پخش انیمیشن استفاده شده یا نه . اگر بصورت دائما پخش باشد ، تابع ()ANIMATION LOOPING مقدار یک و اگر دائما پخش نباشد ، تابع مقدار صفر را برمی گرداند . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",3
LOOP ANIMATION 3
((Text 300,300,Str$(Animation Looping(3
Wait Key
 
دستور PAUSE ANIMATION
این دستور انیمیش در حال پخش ( توسط دستور PLAY ANIMATION یا LOOP ANIMATION ) را موقتا متوق می کند . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",4
Play ANIMATION 4
Wait 2000
Pause Animation 4
Wait Key
 
تابع ANIMATION PAUSED
این تابع بررسی می کند که آیا انیمیشن مورد نظر با دستور Pause Animation متوقف شده یا نه . اگر متوق شده باشد تابع ()Animation Paused مقدار یک و اگر متوق نشده باشد ، تابع مقدار صفر را برمی گرداند . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",2
Play ANIMATION 2
"If Animation Paused(2)=1 Then Text 10,450,"Animation Paused
Wait 2000
Pause Animation 2
If Animation Paused(2)=1
   Cls
   "Text 10,450,"Animation Paused
EndIf
Wait Key
 
دستور RESUME ANIMATION
اگر انیمیشن قبلا توسط دستور PAUSE ANIMATION متوفق شده باشد . می توانیم با این دستور پخش آن را از همان فریم متوفق شده دوباره شروع کنیم . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",4
Loop ANIMATION 4
Do
If Inkey$()="P" Or Inkey$()="p" Then Pause ANIMATION 4
If Returnkey()=1 Then Resume ANIMATION 4
Loop
 
با اجرای این مثال با زدن دکمه ی P انیمیشن شماره 4 موقتا متوقف می شود ، و با زدن دکمه ی Enter پخش آن از همان زمان توقف ( همان فریمی که بر روی آن توقف شده بود ) ، پخش خواهد شد .
 
دستور STOP ANIMATION
این دستور انیمیش در حال پخش را متوفق خواهد کرد . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",4
Play ANIMATION 4
Wait 2000
Stop ANIMATION 4
Wait Key
 
دستور SET ANIMATION SPEED
با این دستور سرعت پخش انیمیشن را تنظیم می کنیم . مانند دستورالعمل زیر :
 
SET ANIMATION SPEED AnimationNumber,Speed
 
طبق این دستورالعمل به جای AnimationNumber شماره ی انیمیشن مورد نظر و به جای Speed سرعت پخش انیمیشن را بصورت عددی بین صفر تا 100 که صفر کمترین سرعت و 100 بالا ترین سرعت پخش انیمیشن می باشد . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",4
Play Animation 4
Set Animation Speed 4,50
Wait 2000
Set Animation Speed 4,100
Wait Key
 
با اجرای این مثال دو ثانیه از پخش انیمیشن با نصف سرعت ( 50 از 100 ) و بقیه ی انیمیشن با سرعت عادی پخش خواهد شد .
 
تابع ANIMATION WIDTH و تابع ANIMATION HEIGHT
تابع ()ANIMATION WIDTH طول انیمیشن و تابع ()ANIMATION HEIGHT ارتفاع انیمیشن را برمی گرداند . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",7
(Print "Animation Width = "; Animation Width(7
(Print "Animation Height = "; Animation Height(7
Wait Key
 
با اجرای این مثال طول و ارتفاع انیمیشن شماره ی 7 چاپ خواهد شد .
 
دستور PLAY ANIMATION TO IMAGE
با این دستور انیمیشن مورد نظر را بر روی شیئی از نوع Image پخش می کنیم . سپس Image مورد نظر را بر روی اشیاء سه بعدی می چسبانیم . با این کار انیمیشن مورد نظرمان بر روی اشیاء سه بعدی پخش خواهد شد . مانند دستورالعمل زیر :
 
PLAY ANIMATION TO IMAGE AnimationNumber,Image,Left,Top,Right,Bottom
 
طبق این دستورالعمل به جای AnimationNumber شماره ی انیمیشن مورد نظر بین 1 تا 32 و به جای Image شماره ی تصویر بین 1 تا 32 به جای Left فاصله ی انیمیشن تا سمت چپ تصویر و به جای Top فاصله ی انیمیشن تا بالای تصویر و به جای Right فاصله ی انیمیشن تا سمت راست تصویر و به جای Bottom فاصله ی انیمیشن تا پائین تصویر را قرار می دهیم . مانند مثال زیر :
 
LOAD ANIMATION "C:\Program Files\Dark Basic Software\Dark Basic Professional\Help\examples\animation\mpg\DbIntro.mpg",7
Sync On:Sync Rate 30
Make Object Box 4,200,120,100 : Position Object 4,-150,0,0
Make Object Sphere 5,200 : Position Object 5,100,0,0
(Play Animation To Image 7,1,0,0,Animation Width(7),Animation Height(7
Loop Animation 7
Texture Object 4,1 : Texture Object 5,1
Position Camera -100,100,-600:Point Camera 0,0,0
Do:For I=1 To 369:YRotate Object 4,I
Sync:Next I:Loop
 
در این مثال تصویری با شماره ی 1 بطور خودکار ایجاد شد .
 


صفحه قبل 1 صفحه بعد

درباره وبلاگ


به وبلاگ من خوش آمدید
آخرین مطالب
پيوندها

تبادل لینک هوشمند
برای تبادل لینک  ابتدا ما را با عنوان آموزش ساخت بازی 3D ( سه بعدی ) به زبان Basic با دارک بیسیک D و آدرس darkbasic.LXB.ir لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.





نويسندگان


آمار وب سایت:  

بازدید امروز : 6
بازدید دیروز : 0
بازدید هفته : 21
بازدید ماه : 248
بازدید کل : 99618
تعداد مطالب : 24
تعداد نظرات : 3
تعداد آنلاین : 1